From 69c2585f0d78c5c00b0dff296b28eddea964ed1f Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Mon, 15 Dec 2003 22:03:15 +0000 Subject: [PATCH] Sigh, revert the change. 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c: Sigh, revert the change. --- ChangeLog | 4 ++++ ChangeLog.pre-2-10 | 4 ++++ ChangeLog.pre-2-4 | 4 ++++ ChangeLog.pre-2-6 | 4 ++++ ChangeLog.pre-2-8 | 4 ++++ gtk/gtkdialog.c | 27 +++++++++++++++++++++++++++ 6 files changed, 47 insertions(+) diff --git a/ChangeLog b/ChangeLog index eb1b61da3a..1b61c46033 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-12-15 Federico Mena Quintero + + * gtk/gtkdialog.c: Sigh, revert the change. + 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index eb1b61da3a..1b61c46033 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,7 @@ +2003-12-15 Federico Mena Quintero + + * gtk/gtkdialog.c: Sigh, revert the change. + 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index eb1b61da3a..1b61c46033 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,7 @@ +2003-12-15 Federico Mena Quintero + + * gtk/gtkdialog.c: Sigh, revert the change. + 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index eb1b61da3a..1b61c46033 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,7 @@ +2003-12-15 Federico Mena Quintero + + * gtk/gtkdialog.c: Sigh, revert the change. + 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index eb1b61da3a..1b61c46033 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,7 @@ +2003-12-15 Federico Mena Quintero + + * gtk/gtkdialog.c: Sigh, revert the change. + 2003-12-15 Federico Mena Quintero * gtk/gtkdialog.c (dialog_has_cancel): Removed. diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index fb4ca8bec0..7f81f9d83d 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -354,6 +354,30 @@ gtk_dialog_style_set (GtkWidget *widget, update_spacings (GTK_DIALOG (widget)); } +static gboolean +dialog_has_cancel (GtkDialog *dialog) +{ + GList *children, *tmp_list; + gboolean ret = FALSE; + + children = gtk_container_get_children (GTK_CONTAINER (dialog->action_area)); + + for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) + { + ResponseData *rd = get_response_data (tmp_list->data); + + if (rd && rd->response_id == GTK_RESPONSE_CANCEL) + { + ret = TRUE; + break; + } + } + + g_list_free (children); + + return ret; +} + static void gtk_dialog_close (GtkDialog *dialog) { @@ -362,6 +386,9 @@ gtk_dialog_close (GtkDialog *dialog) GtkWidget *widget = GTK_WIDGET (dialog); GdkEvent *event; + if (!dialog_has_cancel (dialog)) + return; + event = gdk_event_new (GDK_DELETE); event->any.window = g_object_ref (widget->window); -- 2.30.2